package com.jinsi.controller.tang;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.jinsi.constant.YltConstant;
import com.jinsi.pojo.Comment;
import com.jinsi.service.tang.MicroCycleReviewService;
import com.jinsi.util.R;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 微圈评论
 * @author 唐文博
 * @Date 2022-09-09
 */
@RestController
@RequestMapping("/microCycle")
@Slf4j
public class MicroCycleReviewController {
    @Autowired
    private MicroCycleReviewService microCycleReviewService;

    /**
     * 查看微圈历史评论人数和次数
     * @return
     */
    @RequestMapping("/getMicroCycleReview")
    public R getMicroCycleReview(){
        int a = microCycleReviewService.getMicroCycleReview();
        Map map = new HashMap();
        map.put("count",a);
        return R.ok(map);
    }

//    /**
//     * 查看微圈评论人数  status 1已通过 2已拦截 3已删除
//     * @return
//     */
//    @RequestMapping("/getMicroCycleNumber")
//    public R getMicroCycleNumber(Integer status){
//        int a = microCycleReviewService.getMicroCycleNumber(status);
//        Map map = new HashMap();
//        map.put("count",a);
//        return R.ok(map);
//    }

    /**
     * 查看今日微圈评论人数和次数
     * @return
     */
    @RequestMapping("/getMicroCycleToday")
    public R getMicroCycleToday(){
        int a = microCycleReviewService.getMicroCycleToday();
        Map map = new HashMap();
        map.put("cou",a);
        return R.ok(map);
    }

    /**
     * 查看微圈评论列表的成员账号，昵称，所属文章，发言时间，发言内容
     * @param page
     * @param limit
     * @return
     */
    @RequestMapping("/getReview")
    public R getReview(Integer page, Integer limit){
        PageHelper.startPage(page,limit);
        List<Comment> list = microCycleReviewService.getReview();
        PageInfo<Comment> pageInfo = new PageInfo<>(list);
        return R.custom(YltConstant.LAYUI_CODE,
                YltConstant.LAYUI_MSG,
                pageInfo.getList(),
                pageInfo.getTotal());
    }
    /**
     * 查看正常微圈评论列表的成员账号及信息（已通过）
     * @param page
     * @param limit
     * @param status
     * @return
     */
    @RequestMapping("/getReviewNormal")
    public R getReviewNormal(Integer page,Integer limit,Integer status){
        PageHelper.startPage(page,limit);
        List<Comment> list = microCycleReviewService.getReviewNormal(status);
        PageInfo<Comment> pageInfo = new PageInfo<>(list);
        return R.custom(YltConstant.LAYUI_CODE,
                YltConstant.LAYUI_MSG,
                pageInfo.getList(),
                pageInfo.getTotal());
    }

    /**
     * 修改成已拦截状态 //状态 1已通过 2已拦截 3已删除',微圈
     * @param id
     * @param status
     */
    @RequestMapping("/microCycleReviewBlocked")
    public R microCycleReviewBlocked(Integer id, Integer status) {
        try {
            log.info("修改微圈评论列表操作: [开始], 根据评论id进行修改:{},评论状态码进行删除、通过、拦截等操作：{}",id,status);
            microCycleReviewService.microCycleReviewBlocked(id,status);
            log.info("修改微圈评论列表操作: [结束] 结果：{}","成功");
            return R.ok();
        } catch (Exception e) {
            e.printStackTrace();
            log.error("修改微圈评论列表操作: [失败]", e);
            return R.error();
        }
    }
}
